"========================================================
" Highlight All Math Operator
"========================================================
" C math operators
syn match        cMathOperator     display "[-+*/%=]"
" C pointer operators
syn match        cPointerOperator display "->\|\."
" C logical    operators - boolean results
syn match        cLogicalOperator display "[!<>]=\="
syn match        cLogicalOperator display "=="
" C bit operators
syn match        cBinaryOperator display "\(&\||\|\^\|<<\|>>\)=\="
syn match        cBinaryOperator display "\~"
syn match        cBinaryOperatorError display "\~="
" More C logical operators - highlight in preference to binary
syn match        cLogicalOperator display "&&\|||"
syn match        cLogicalOperatorError display "\(&&\|||\)="
" Math Operator
syn match	cScope	display /::/

hi def link cMathOperator             cOperator
hi def link cPointerOperator          cOperator
hi def link cLogicalOperator          cOperator
hi def link cBinaryOperator           cOperator
hi def link cLogicalOperator          cOperator

if has("gui_running")
	hi cOperator          guifg=#3EFFE2
	hi cScope	guifg=#3EFFE2
else
	hi link cOperator	PreProc
	hi link cScope		PreProc
endif
hi def link cBinaryOperatorError      Error
hi def link cLogicalOperatorError     Error
"========================================================
" Highlight typedef types ( include cpp syntax... )
" =======================================================
syn match	cTypeDefType	"\<\I\i*\>\(&\=\s*\*\=\s*&\=\I\)\@="
syn match	cTypeDefType	"\<\I\i*::\i*\(&\=\s*\*\=\s*&\=\I\)\@=" contains=cScope,cFunction
syn match	cTypeDefType	"\<\I\(\i*<\s*\I\i*\s*>::\)\+\i*\(&\=\s*\*\=\s*&\=\I\)\@=" contains=cScope,cFunction,cTypeDefTypeTwo
syn match	cTypeDefTypeTwo	"<\s*\I\i*\s*>" contains=cLogicalOperator

hi link cTypeDefType Type 
hi link cTypeDefTypeTwo Type
"
" Highlight ;
syn match	sColon	display /;/
hi  sColon       guifg=#60d080
"========================================================
" Highlight All Function
"========================================================
syn match    cFunction "[a-zA-Z_][a-zA-Z_0-9]*\s*("me=e-1
syn match    cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
syn match    cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\(<\I\i*>\s*(\)\@="
if has("gui_running")
	hi cFunction         gui=NONE guifg=#B5A1FF 
else
	hi cFunction ctermfg=69	cterm=NONE 
	"ctermbg=234	
	"hi link cFunction Function
endif

